package com.yinp.proapp.utils;

import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapStatus;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MyLocationConfiguration;
import com.baidu.mapapi.model.LatLng;
import com.yinp.proapp.R;

/**
 * @author :yinpeng
 * date      :2021/7/15
 * package   :com.example.myapplication.utils
 * describe  :
 */
public class BaiduMapUtils {
    /**
     * 自定义当前位置图标样式
     *
     * @param mBaiduMap
     */
    public static void setCurLocationIcon(BaiduMap mBaiduMap) {
        // 自定义地图样式，可选
        // 更换定位图标，这里的图片是放在 drawble 文件下的
        BitmapDescriptor mCurrentMarker = BitmapDescriptorFactory.fromResource(R.mipmap.jianjian);
        // 定位模式 地图SDK支持三种定位模式：NORMAL（普通态）, FOLLOWING（跟随态）, COMPASS（罗盘态）
        MyLocationConfiguration.LocationMode locationMode = MyLocationConfiguration.LocationMode.NORMAL;
        // 定位模式、是否开启方向、设置自定义定位图标、精度圈填充颜色以及精度圈边框颜色5个属性（此处只设置了前三个）。
        MyLocationConfiguration mLocationConfiguration = new MyLocationConfiguration(locationMode, true, mCurrentMarker);
        // 使自定义的配置生效
        mBaiduMap.setMyLocationConfiguration(mLocationConfiguration);
    }

    /**
     * 移动地图到指定位置
     *
     * @param mBaiduMap
     * @param point
     */
    public static void moveToLatLng(BaiduMap mBaiduMap, LatLng point) {
        //设置并显示中心点
        LatLng ll = new LatLng(point.latitude, point.longitude);
        MapStatus.Builder builder = new MapStatus.Builder();
        builder.target(ll).zoom(18f);
        mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
    }
}
